Autonomous and semi-autonomous deployable field devices (e.g., robots) are frequently used in industrial, commercial and every-day applications. Commonly, mobile robots systems, particularly on the industrial and commercial scale, consist of a multitude of robots, and the applications often require the individual robots to operate independently and as coordinated members of the group of robots. A robotic cleaning solution for cleaning multiple solar panel arrays is an example system that typically requires deployment of a plurality of robots in the field and coordinated operation of the robots to perform optimally.
Coordinated operation of a group of robots traditionally requires that each robot have a unique identifier, thereby allowing a centralized control station to uniquely identify the robot. Traditionally, these unique identifiers are static, and can be linked to other pieces of information such as the robot's relative position and/or function within the system, which allows the centralized control station to control and communicate with each unique robot individually. The ability to communicate and control individual actors in a targeted manner is essential for the coordination of the entire group. In almost all cases, robots in such a configured group are programmed individually to perform respective tasks within the larger group and, although each robot can be identical in type and function, each robot is provided with a control program that is specifically tailored to that particular robot, its task within the group and/or the operational environment.
Currently, programming a robot via a computer, even its initial configuration, can require a complicated setup process that is often reserved for the manufacturing/lab environment since not all of the memory on the robot can be easily programmed in the field. Other methods include programming each robot on-site using a dedicated computer that is connected to the robot via a high-speed programming connector such as a USB cable and/or programming each robot using an on-board Human-Machine Interface (HMI) that is provided on each robot. Each of these methods presents significant drawbacks. For instance, if the robots are pre-programmed at the factory, then each individual robot needs to be tracked from the factory to its specific corresponding position in the array of devices at the deployment site; failing to place any given robot in its correct position in the array could result in unexpected/undesired behaviors. Moreover, the centralized control station needs to have the device's preprogrammed IDs inputted manually and associated with a specific function. Alternatively, programming each robot using an HMI onboard each robot leads to increased device cost. In addition, typical HMIs that are on-board robots have minimal functionalities and therefore can cause the individual setup of each device to be lengthy and inefficient. Lastly, if the robots are programmed in the field, the typical setup would require a data communications port to be provided on an exterior of the robot, and a computer would need to be taken to the field and be physically connected to every robot. This is not only time consuming during deployment, but also may require an exposed port for the connection which increases the complexity of the electronics box. When high ingress protection ratings are required for the robot, such an exposed port can be a major drawback. Additionally, an exposed port further exposes the configuration details of the system to misuse/intentional abuse.
The present invention addresses these and other limitations associated with the efficiency of existing systems and methods for configuring a group of mobile field devices to operate as independent and coordinated members of the group. It is with respect to these and other considerations that the disclosure made herein is presented.